package com.escom.utils;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.escom.R;
import com.escom.entidad.PacienteItem;

import java.util.List;

/**
 * Created by Carlos on 8/04/14.
 */
public class CustomPacienteAdapter extends ArrayAdapter<PacienteItem> {

    private Context context;
    private List<PacienteItem> drawerItemPacientes;
    private int resource;

    public CustomPacienteAdapter(Context context, int resource, List<PacienteItem> drawerItemPacientes) {
        super(context, resource, drawerItemPacientes);
        this.context = context;
        this.drawerItemPacientes = drawerItemPacientes;
        this.resource = resource;
    }

    private static class PacienteViewHolder {
        TextView tVNombre, tVSeguroSocila;
        LinearLayout layoutNoExiste, layoutPaciente;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        PacienteViewHolder pacienteViewHolder;
        View view = convertView;

        if (view == null) {
            LayoutInflater inflater = ((Activity) context).getLayoutInflater();
            view = inflater.inflate(resource, parent, false);
            pacienteViewHolder = new PacienteViewHolder();
            pacienteViewHolder.tVNombre = (TextView) view.findViewById(R.id.tVNombrePaciente);
            pacienteViewHolder.tVSeguroSocila = (TextView) view.findViewById(R.id.tVNoSeguroS);
            pacienteViewHolder.layoutNoExiste = (LinearLayout) view.findViewById(R.id.layoutNoExistePaciente);
            pacienteViewHolder.layoutPaciente = (LinearLayout) view.findViewById(R.id.layoutPaciente);
            view.setTag(pacienteViewHolder);
        } else {
            pacienteViewHolder = (PacienteViewHolder) view.getTag();
        }

        PacienteItem pacienteItem = this.drawerItemPacientes.get(position);

        if (pacienteItem.isExist()){
            String nombre = pacienteItem.getNombre();
            String seguroSocial = "No. Seguro Social: " + pacienteItem.getNoSeguroSocial();
            pacienteViewHolder.tVNombre.setText(nombre);
            pacienteViewHolder.tVSeguroSocila.setText(seguroSocial);
            pacienteViewHolder.layoutNoExiste.setVisibility(LinearLayout.INVISIBLE);
            pacienteViewHolder.layoutPaciente.setVisibility(LinearLayout.VISIBLE);
        }else{
            pacienteViewHolder.layoutNoExiste.setVisibility(LinearLayout.VISIBLE);
            pacienteViewHolder.layoutPaciente.setVisibility(LinearLayout.INVISIBLE);
        }
        return view;
    }
}
